<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>第 25 题</title>
    <script type="text/javascript">
        /*
            25、如果一个数恰好等于它的约数之和，则称该数为“完美数”。
            例如：
                第1个完全数是6，它有约数1、2、3、6，除去它本身6外，
            其余3个数相加，1+2+3=6。第2个完全数是28，
            它有约数1、2、4、7、14、28，除去它本身28外，
            其余5个数相加，1+2+4+7+14=28。
            
                试寻找1~10000之间的所有完美数。
        */
        setTimeout(() => {
            // 创建循环
            for (var oNum = 1; oNum <= 10000; oNum++) {

                // 创建累加器
                var oCalc = 0;

                // 循环求出约数
                for (var oNum1 = 1; oNum1 < oNum; oNum1++) {
                    // 判断是否是约数
                    if (oNum % oNum1 == 0) {
                        // 计入累加器
                        oCalc += oNum1;
                    }
                }

                // 判断是否相等
                if (oCalc == oNum) {
                    // 输出至后台
                    console.log(oNum + "是一个完美数。");
                }
            }
        }, 0)
    </script>
</head>

<body>

</body>

</html>